package cn.serein.charging.cost.pojo.po;

import io.github.classgraph.json.Id;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;
import org.springframework.data.elasticsearch.annotations.Document;

import java.math.BigDecimal;

@Data
@FieldDefaults(level = AccessLevel.PRIVATE)

// 使用elasticsearch
@Document(indexName = "charging_data_serein")
public class ChargingDataPO {

    @Id
    String id;


    /**
     * 订单号
     */
    String orderNo;

    /**
     * 枪id
     */
    Integer gunId;

    /**
     * 用户id
     */
    Integer userId;

    /**
     * 充电次数
     */
    Integer count;

    /**
     * 充电开始时间
     */

    Long startTime;

    /**
     * 已经充电时长
     */
    String totalTime;

    /**
     * 充电总度数
     */
    Float totalCapacity;

    /**
     * 充电度数
     */
    Float chargingCapacity;

    /**
     * 计算费用
     */
    BigDecimal totalCost;

    /**
     * 高级操作  充血模型
     */
    public Boolean isFirstCharging() {
        return this.count == 1;
    }

    /**
     * 高级操作   充血模型
     */

//    public void setChargingCapacity(Float chargingCapacity) {
//        this.chargingCapacity = chargingCapacity;
//    }

    public void setTotalCost(BigDecimal totalCost) {
        // 判断是否第一次  第一次直接赋值
        if(isFirstCharging()){
            this.totalCost = totalCost;
        }else{
            // 不是第一次 累加得到最新的费用
            this.totalCost = this.totalCost.add(totalCost);
        }
    }
}
